import os
import time
from hashlib import sha256
from data.pool import MYPUBLICKEY,PoolData
from libs.sync import syncpool
import rsa


class creatdata:
    def __init__(self):
        pass

    def pushpool(self, describe, maindata, encryption):
        # 将数据包装，放入数据池，并向外广播新块
        if encryption == 1:
            maindata = rsa.encrypt(maindata.encode(), MYPUBLICKEY)
        sha = sha256()
        sha.update(maindata)
        sha.hexdigest()        
        # 包装数据
        tempData = {
            'time' : time.time(),                                 # 生成时间
            'size' : len(maindata),                               # 数据大小
            'name' : MYPUBLICKEY,                                 # 用户名
            'desc' : describe,                                    # 简单的描述，用于搜索
            'hash' : rsa.encrypt(sha.encode(), MYPRIVATEKEY),     # 数据的HASH
            'data' : maindata                                     # 数据内容
        }
        # 放入数据池
        PoolData.append(tempData)
        #广播新数据
        syncpool().broadcast(tempData)
        

# print(time.time())
# print(time.strftime("%Y--%m--%d %H:%M:%S", time.localtime(time.time())))